package com.mlk.core.component.permission;

/**
 * 数据权限上下文,帮助mybatis插件完成数据的筛选
 */
public class DataPermissonContext {

    /**
     * 存储上下文的内容
     */
    private static final ThreadLocal<DataPermission> contextValue = new ThreadLocal<DataPermission>();

    /**
     * 向上下文之中设置值
     *
     * @param value
     */
    public static final void set(DataPermission value) {
        contextValue.set(value);
    }

    /**
     * 移除上下文之中的值
     */
    public static final void remove() {
        contextValue.remove();
    }

    /**
     * 从上下文之中获取值
     *
     * @return
     */
    public static final DataPermission get() {
        return contextValue.get();
    }

}
